Management node deice, node device, network configuration management system, network configuration management method, node device control method, management node device control method

ABSTRACT

There is installed a special management node to efficiently perform network configuration management. When a node starts communication with another node, the node sends a request for node position information about the communication counterpart node to a management node. Upon receiving the node position information request, the management node references a network configuration information table to calculate information about a route from the node to the communication counterpart node. The management node notifies the calculated route information. By utilizing the route information, the node can communicate with the communication counterpart node. Each node notifies node-to-node connection information, information about links with adjacent nodes, to the management node as necessary. When a newly connecting node requests an optimum connection target from the management node, the management node selects an optimum node to connect to, based on network configuration information it holds and notifies it to the newly connecting node. The newly connecting node connects to the optimum node in accordance with the contents of the notified information.

TECHNICAL FIELD

The present invention relates to a management node device, a network configuration management system and a network configuration management method, and in particular to a management node device for managing node devices constituting a network, and a network configuration management system and a network configuration management method using the management node device.

BACKGROUND ART

FIG. 28 shows a network constituted by multiple node devices. Description will now be made on an example of communication condition of information about the node devices constituting the network, that is, network configuration information, with reference to the figure. In the description below, a node device may be referred to simply as a “node” for short.

In the figure, the network has six nodes 101 to 106. When network configuration information at the node 101 is changed, the changed network configuration information is communicated to the adjacent nodes 102 and 103.

The node 102 communicates the network configuration information to the adjacent nodes 103 and 104, and the node 103 communicates the network configuration information to the adjacent node 105. Furthermore, the node 104 communicates the network configuration information to the adjacent nodes 105 and 106. Finally, the node 105 communicates the network configuration information to the adjacent node 106. By communicating the network configuration information as described above, the network configuration information changed at the node 101 is communicated to all the other nodes 102 to 106.

There may be provided a management node device in a network to manage each node device in the network. For example, in Japanese Patent Laid-Open No. 2002-77204, there is described a technique in which a cyclic frame is sent from a management node device and a managed node device having received the cyclic frame issues a request-to-send.

In a network, it is an important point how a connection target of a node device to be newly connected should be selected. Here, description will be made on a network construction method to be implemented for a network in which communication is performed based on connection established with an adjacent node device.

In prior-art network construction methods, when a node X participates into a network, it attempts connection to any one or multiple nodes, as shown in FIG. 29A. When multiple nodes to be connected are known, connection is made, in consideration of the network condition (round trip time, hereinafter referred to as RTT) from the node X to the nodes, the number of connections of the nodes, and throughputs and communication bands of the nodes, to a node with a low RTT value, a node with a small number of connections, a node with a high throughput, or a node with a broad communication band. FIG. 29B shows the condition after the connection.

However, the method in which each node manages information about connection with its adjacent nodes as described above, has the following problems. That is, when a node communicates with a node other than its adjacent nodes, the node first requests information about a route to the target node from an adjacent node, and further requests the information from a node adjacent to the adjacent node if the adjacent node does not know the target node. When a route information request is sequentially communicated as described above, there is a problem that time is required until the information about the route to the target node is acquired.

That is, in notification of change in network information by exchanging information between adjacent nodes, if any change is made in network configuration information at a node, the changed network configuration information is communicated to all nodes through notification to adjacent nodes to that effect. Therefore, there is a problem that time is required until the network configuration information has been communicated to all the nodes.

Furthermore, the method of connecting to any one or multiple nodes as shown in FIG. 29A and FIG. 29B has a problem that a redundant route is generated as shown in FIG. 30A and a network with a high redundancy is constructed. Furthermore, there is also a problem, with regard to the configuration of the entire network, that an inefficient linear topology is constructed as shown in FIG. 30B.

An object of the present invention is to install a special management node in a system in which each node performs communication based on a connection established with an adjacent node and provide a management node device capable of efficiently performing network configuration management through management of route information and management of nodes participating in a network, a node device, a network configuration management system, a network configuration management method, a node device control method and a management node device control method.

Another object of the present invention is to provide a management node device capable of, in a network in which each node performs communication based on connection established with an adjacent node, efficiently constructing the network by notifying a node newly participating into the network of an appropriate node to connect to, a node device, a network configuration management system, a network configuration management method, a node device control method and a management node device control method.

DISCLOSURE OF THE INVENTION

A management node device according to the present invention is a management node device for managing a network constituted by node devices and is characterized by comprising storage means for storing network configuration information for calculating at least one of information about routes among node devices and an optimum connection target for a newly connecting node device, the network configuration information including information about links among nodes constituting the network. By utilizing the stored network configuration information, the network configuration can be efficiently managed.

Furthermore, the management node device may further comprise: receiving means for receiving a request to search for a route from a first node device in the network to a second node device; calculation means for, in response to the request to search for a route, calculating route information indicating a route between the first node device and the second node device based on the network configuration information stored in the storage means; and notification means for notifying the route information calculated by the calculation means to a request source. This makes it possible for the nodes participating in the network to utilize the route information to communicate with one another.

Furthermore, the calculation means may create node trees following the network with the first node device and the second node device as origins, respectively, and determines routes to identical nodes appearing in the created node trees as the route information. This makes it possible to easily calculate the shortest route.

Furthermore, the calculation means may calculate each of costs among nodes included in the network and determine a route for which the calculated cost is the lowest as the route information. This makes it possible to easily calculate a route with the lowest cost.

The calculation means may, if the first node device and the second node device are not able to directly communicate with each other, calculate route information showing a bypass route via a node device other than the nodes. This makes it possible for nodes participating in the network to communicate with each other by utilizing a bypass route even when they cannot directly communicate with each other.

Furthermore, the network configuration information may include identification information about the node devices participating in the network and identification information about adjacent node devices adjacent to the node devices. This makes it possible for the management node to recognize the configuration of the network it manages.

The management node may further comprise means for, in response to a notification of participation into the network by any node device, adding identification information about the node device to the holding means. According to this configuration, it is possible to automatically update the network configuration information to be updated when a new node participates.

Furthermore, the management node may further comprise means for, in response to a pulling-out notification from a node device participating in the network, updating contents held by the holding means based on identification information about the pulling-out node device; and notify the held contents which have been updated to a node device adjacent to the pulling-out node device. According to this configuration, it is possible to automatically update the network configuration information to be updated when a node pulls out.

A network configuration management system according to the present invention is a network configuration management system comprising a management node device having holding means for storing and holding network configuration information indicating connection condition among node devices participating in a network, and is characterized in that the management node device, in response to a request to search for a route from a first node device in the network to a second node device, calculates route information indicating a route between the first node device and the second node device and notifies the calculated route information to a request source. This makes it possible for the nodes participating in the network to utilize the route information to communicate with one another.

It is desirable that a node which participates into the network has notification means for notifying identification information about the node to the management node. According to this configuration, it is possible for the management node to recognize participation of a new node and automatically update the network configuration information.

Furthermore, a network configuration management method according to the present invention is a network configuration management method for storing, holding and managing network configuration information indicating connection condition among node devices participating in a network, and is characterized by comprising: a receiving step of receiving a request to search for a route from a first node device in the network to a second node device; a calculation step of, in response to the request to search for a route, calculating route information indicating a route between the first node device and the second node device based on the network configuration information; and a notification step of notifying the route information calculated at the calculation step to a request source. This makes it possible for the nodes participating in the network to utilize the route information to communicate with one another.

A node device according to the present invention is a node device constituting a network together with other node devices, and is characterized by comprising notification means for notifying node-to-node connection information, information about links with adjacent node devices, to a management node device for managing the network as necessary. This makes it possible for the management node device to always know the node-to-node connection information and select the most appropriate node to connect to in accordance with a particular operation policy.

Furthermore, a management node device according to the present invention is a management node device for managing a network constituted by node devices, and is characterized by comprising selection means for, in response to receiving a request to connect to the network from a different node device, selecting an optimum connection target for the node device based on the network configuration information stored in the storage means. This makes it possible for the management node to select the most appropriate node to connect to in accordance with a particular operation policy.

The selection means may, when forming a tree-type topology network which is configured by connecting nodes hierarchically and sequentially from a center node with the maximum number of connections for one node as m (m is a natural number and hereinafter the same), determine whether there is any node with the number of connections less than m in the n-th hierarchy (n is a natural number and hereinafter the same) from the center node; direct connection, if there is a node with the number of connections less than m, to the node; and perform the same determination for the (n+1)th hierarchy if there is not a node with the number of connections less than m. This makes it possible to construct a complete tree-type topology in which the number of hops between any two nodes, for all the nodes, is the minimum.

The selection means may, when forming a tree-type topology network which is configured by connecting nodes hierarchically and sequentially from a center node with the maximum number of connections for one node as m, determine whether there is any node with the number of connections less than m in the n-th hierarchy from the center node; specify, if there is a node with the number of connections less than m, the node as a connection target; determine whether there is any node connected to a node in the n-th hierarchy from the center node and located farther from the node in the n-th hierarchy than a newly connecting node, if there is not a node with the number of connections less than m; give a direction, if there is such a node, to disconnect the farther node and connect the newly connecting node instead; and perform the same determination for the (n+1)th hierarchy if there is not such a node. This makes it possible to construct, in consideration of physical distances, a topology in which the number of hops between any two nodes is the minimum and no loop is created.

The selection means finds a node with the smallest number of connections; specifies, if there is a single such node, the node as a connection target of a newly connecting node; and specifies, if there are multiple such nodes, any node among the nodes as a connection target of the newly connecting node. This makes it possible to construct a topology which certainly creates a loop in which the number of hops between any two nodes, for all the nodes, is the minimum.

The selection means determines whether a node which is the n-th nearest to a newly connecting node has already received two or more connections from other nodes; specifies, if the node has not received two or more connections, the node as a connection target; looks for, if the node has received two or more connections, anode located farther from the node which is the n-th nearest to the newly connecting node than the newly connecting node, among nodes connected to the node which is the n-th nearest to the newly connecting node; gives a direction to disconnect the farther node and connect the newly connecting node instead, if the farther node is found; and repeats the same procedure for a node which is the (n+1)th nearest to the newly connecting node if the farther node is not found. This makes it possible to construct a topology which certainly creates a loop in which the number of hops between any two nodes is the minimum in consideration of physical distances.

A network configuration management system according to the present invention is a network configuration management system comprising node devices constituting a network together with other node devices and a management node device for managing the network constituted by the node devices, the network configuration management system being characterized in that:

-   -   each of the node devices constituting the network notifies         node-to-node connection information, information about links         with adjacent nodes, to the management node device as necessary;     -   the management node device, in response to receiving a request         to connect to the network from a different node device, selects         an optimum connection target for the node device; and     -   a node device which newly connects to the network is connected         to the network by connecting to the connection target selected         and specified by the management node device. This makes it         possible for the management node to always know the node-to-node         connection information and select the most appropriate node to         connect to in accordance with a particular operation policy, and         for a node which newly participates into the network to know the         most appropriate node to connect to in accordance with a         particular operation policy.

A method for controlling node devices according to the present invention is a method for controlling node devices constituting a network together with other node deices, and is characterized by comprising a notification step of notifying node-to-node connection information, information about links with adjacent node devices, to a management node device for managing the network as necessary. This makes it possible for the management node to always know the node-to-node connection information and select the most appropriate node to connect to in accordance with a particular operation policy.

A method for controlling a management node device according to the present invention is a method for controlling a management node device for managing a network constituted by node devices, and is characterized by comprising a selection step of selecting, in response to receiving a request to connect to the network from a different node device, an optimum connection target for the node device and a notification step of notifying the selected connection target to the different node device. This makes it possible for the management node to select the most appropriate node to connect to in accordance with a particular operation policy.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram showing an example of configuration of a network configuration management system according to an embodiment of the present invention;

FIG. 2 is a block diagram showing the configuration of each node in a network to which the network configuration management system, an embodiment of the present invention, is applied;

FIG. 3 is a block diagram showing the configuration of a management node in a network to which the network configuration management system, an embodiment of the present invention, is applied;

FIG. 4 is a flowchart showing a network configuration management procedure to be performed in the case of participating into a network to which the network configuration management system, an embodiment of the present invention, is applied;

FIG. 5A shows a network configuration diagram to be changed in accordance with the flowchart shown in FIG. 4, and a network configuration information table held by the management node before being changed;

FIG. 5B shows a network configuration diagram changed in accordance with the flowchart shown in FIG. 4, and a network configuration information table held by the management node after being changed;

FIG. 6 is a flowchart showing a network configuration management procedure to be performed when an adjacent node to be connected to by a node is changed in a network to which the network configuration management system, an embodiment of the present invention, is applied;

FIG. 7A shows a network configuration diagram to be changed in accordance with the flowchart shown in FIG. 6, and a network configuration information table held by the management node before being changed;

FIG. 7B shows a network configuration diagram changed in accordance with the flowchart shown in FIG. 6, and a network configuration information table held by the management node after being changed;

FIG. 8 is a flowchart showing a network configuration management procedure to be performed when a node communicates with a node other than adjacent nodes in a network to which the network configuration management system, an embodiment of the present invention, is applied;

FIG. 9 shows a network configuration diagram and a network configuration information table held by the management node which are to be changed in accordance with the flowchart shown in FIG. 8;

FIG. 10 is a flowchart showing a network configuration management procedure to be performed when a node communicates with a node other than adjacent nodes in a network to which the network configuration management system, an embodiment of the present invention, is applied;

FIG. 11 shows a network configuration diagram and a network configuration information table held by the management node which are be changed in accordance with the flowchart shown in FIG. 10;

FIG. 12 shows a network configuration and a network configuration information table held by the management node after a node pulls out;

FIG. 13 is a network configuration requiring notification of bypass route information and a network configuration information table held by the management node;

FIG. 14A shows an example of a network;

FIG. 14B shows an example of an algorithm for calculating the shortest route between nodes in the network in FIG. 14A;

FIG. 15 is a flowchart showing the algorithm in FIGS. 14A and 14B;

FIG. 16 is examples of costs among nodes in a network;

FIG. 17 is a flowchart showing the algorithm in FIG. 16;

FIG. 18 is a flowchart showing the operation of a management control section in FIGS. 21 and 22;

FIG. 19 is a sequence diagram corresponding to the flow of the flowchart shown in FIG. 18;

FIG. 20 shows an ideal tree-type topology with the degree of 3;

FIG. 21 is a flowchart showing a procedure for constructing the topology in FIG. 20;

FIGS. 22A to 22D show a tree-type topology in consideration of the shortest route connection with the degree of 3;

FIG. 23 is a flowchart showing a procedure for constructing the topology in FIGS. 22A to 22D;

FIG. 24 shows an ideal loop-type topology with the number of new connections of 2;

FIG. 25 is a flowchart showing a procedure for constructing the topology in FIG. 24;

FIGS. 26A to 26D show a loop-type topology in consideration of the shortest-route connection with the number of new connections of 2;

FIG. 27 is a flowchart showing a procedure for constructing the topology in FIGS. 26A to 26D;

FIG. 28 shows communication condition of prior-art network configuration information in a network constituted by multiple nodes;

FIGS. 29A and 29B illustrate an example of a topology construction process; and

FIGS. 30(a) and 30(b) illustrate a problem in construction of a topology.

BEST MODE FOR CARRYING OUT THE INVENTION

Embodiments of the present invention will be described with reference to drawings. In each of figures referenced in the description below, portions equivalent to those in the other figures are denoted by the same reference numerals.

In the present invention, there is provided in a network a management node device for managing node devices constituting the network. Network configuration information is stored in the management node device. The network configuration information includes node-to-node connection information, information about links of each of the nodes constituting the network with adjacent nodes, and the information is used for calculating information about a route between node devices or an optimum connection target for a node device to be newly connected to the network.

1. Management of Route Information

FIG. 1 is a block diagram showing an embodiment of a network configuration management system according to the present invention. As shown in the figure, the network configuration management system according to the embodiment is configured to include three nodes 301-1, 301-2 and 301-3 and a management node 401 which functions as a network configuration management device for managing these nodes. In this example, identification information (hereinafter referred to as a node ID) about the node 301-1 is “A”, identification information about the node 301-2 is “B”, and identification information about the node 301-3 is “C”. Though the number of nodes managed by the management node 401 is “three (3)”, it is not limited thereto. The type of a network may be any of a star type, a bus type and a ring type.

Each node device and the management node device may be connected wiredly or wirelessly. Each node device and the management node device may be not only realized by utilizing a known personal computer or a server device but also realized by utilizing a portable terminal device including a PDA (personal digital assistant) and a cellular phone.

An example of configuration of each node constituting a network and an example of configuration of a management node are described below with reference to FIGS. 2 and 3.

(Node Device)

FIG. 2 is a block diagram showing the configuration of each node in a network used by a network configuration management system, an embodiment of the present invention. In FIG. 2, a node 301 is a node in a network having multiple nodes not shown. For example, the node 301 is the node 301-1 in FIG. 1. All the other nodes in the network have the same configuration.

A network configuration information holding section 303 in the node 301 has anode-to-node connection information table 304 and a node information table 305. The node-to-node connection information table 304 holds information about links to adjacent nodes. The node information table 305 hold information about the node such as a node ID, which is identification information about the node, and the communication line speed of the node.

A network configuration information receiving section 302 in the node 301 receives network configuration information sent from other nodes and causes the received network configuration information to be held by the network configuration information holding section 303.

A data processing section 306 performs an edit processing of the network configuration information held by the network configuration information holding section 303. A network configuration information sending section 307 notifies the network configuration information held by the network configuration information holding section 303 and edited by the data processing section 306 to the management node. The notification of the network configuration information to the management node may be made, for example, in a predetermined cycle. The notification timing is not especially limited. The notification may be made in response to a request from the management node device, or may be positively made by a managed node.

When the node 301 participates into the network (when it newly connects to the network), a network participation/pulling-out notification sending section 308 notifies the management node to that effect.

A management control section 309 controls each portion in the node 301 to manage the network configuration information.

(Management Node Device)

FIG. 3 is a block diagram showing the configuration of a management node in a network used by the network configuration management system, an embodiment of the present invention. In FIG. 3, a management node 401 can be communicated with by all multiple nodes not shown. For example, in the network shown in FIG. 1, all the nodes 301-1 to 301-3 can communicate with the management node 401.

A network configuration information holding section 403 in the management node 401 has a network configuration information table 404. The network configuration information table 404 has IDs of all the nodes participating in the network and IDs of nodes connected at positions adjacent to the positions where the nodes are connected (adjacent nodes).

A network configuration information receiving section 402 in the management node 401 receives network configuration information sent from other nodes and causes the received network configuration information to be held by the network configuration information holding section 403.

A data processing section 406 performs an edit processing of the network configuration information held by the network configuration information holding section 403. The data processing section 406 has a function of, in response to receiving a network connection request from a node to be newly connected to the network (hereinafter referred to as a newly connecting node), selecting an optimum connection target for the node. The selection of the optimum connection target is made in accordance with an algorithm of a selection control program incorporated in advance. The algorithm will be described later together with specific examples.

A network configuration information sending section 407 sends the network configuration information held in the network configuration information table 404 and edited by the data processing section 406.

A network participation/pulling-out notification receiving section 408 receives a notification made when a node participates into or pulls out of the network.

A management control section 409 controls each portion in the management node 401 to manage the network configuration information.

Description will be now made on a management control procedure to be performed by the management control section 409 of the management node and the management control section 309 of each of the other nodes. Description will be made here on each of a processing performed at the time of participation into the network, a processing performed when the network condition is managed, a topology notification processing and a processing performed at the time of pulling out of the network.

(Participation into the Network)

First, description will be made on a management control procedure 1 to be performed when a node participates in the network with reference to a flowchart shown in FIG. 4.

In the figure, a node which participates into a network first sends a network participation notification (step S501). Then, the management node receives the network participation notification (step S502).

The management node registers the node which participates into the network with a network configuration information table (step S503). The management node notifies the node of the registration (step S504). Thereby, the new node can participate in the network.

FIGS. 5A and 5B show contents of the network configuration information table held by the management node, which is to be changed in accordance with the flowchart shown in FIG. 4. In FIG. 5A, this network has three nodes linearly connected with one another.

In this condition, the network configuration information held by the management node is as follows. That is, the ID of a node adjacent to a node with a node ID “A” is “B”. The IDs of nodes adjacent to the node with the node ID “B” are “A” and “C”. The ID of a node adjacent to the node with a node ID “C” is “B”.

In the condition of FIG. 5A, if a node D newly participates in the network, then the network configuration information is, for example, as shown in FIG. 5B. That is, the ID of a node adjacent to the node with the node ID “A” is “B”. The IDs of nodes adjacent to the node with the node ID “B” are “A”, “C” and “D”. The IDs of nodes adjacent to the node with the node ID “C” are “B” and “D”. The IDs of nodes adjacent to the node with the node ID “D” are “B” and “C”.

As described above, in this system, a node which participates into the network has notification means for notifying identification information about the node to the management node device. According to this configuration, the management node can recognize the participation of the new node and automatically update the network configuration information.

(Management of the Network Condition)

Next, description will be made on a management control procedure 2 to be performed when the management node manages the network condition with reference to a flowchart shown in FIG. 6.

In the figure, if any change is caused in the condition of connection with an adjacent node, at any node in the network (step S701), the node notifies connection-with-adjacent-node information to the management node (step S702). Then, the management node receives the connection-with-adjacent-node information (step S703). The management node updates the contents of the network configuration information table it holds using the connection-with-adjacent-node information (step S704). Thereby, the management node can know the IDs of nodes adjacent to all the nodes in the network.

FIGS. 7A and 7B show contents of the network configuration information table held by the management node, which is to be changed in accordance with the flowchart shown in FIG. 6. In FIG. 7A, this network has three nodes linearly connected with one another. That is, the network configuration information held by the management node is as follows. The IDs of nodes adjacent to a node with a node ID “A” are “B” and “C”. The ID of a node adjacent to the node ID “B” is “A”. The ID of a node adjacent to the node with the node ID “C” is “A”. That is, the ID of a node adjacent to the node with the node ID “A” is “B”. The IDs of nodes adjacent to the node with the node ID “B” are “A” and “C”. The ID of a node adjacent to the node with the node ID “C” is “B”.

Under this condition, a case will be considered where the node C changes its connection target from the node B to the node A. The configuration of the network then becomes as shown in FIG. 7B, and thereby, the network configuration information held by the management node becomes as shown in the figure. That is, the network configuration information held by the management node is as follows. The IDs of nodes adjacent to the node with the node ID “A” are “B” and “C”. The ID of a node adjacent to the node with the node ID “B” is “A”. The ID of a node adjacent to the node with the node ID “C” is “A”.

In the description below, the node with the node ID “A” is shown simply as the “node A”. The same applies to the other node IDs.

(Notification of Topology)

Next, description will be made on a management control procedure 3 to be performed when a node communicates with a node which is not adjacent to the node with reference to a flowchart shown in FIG. 8.

In the figure, when a node in the network first attempts to communicate with a node which is not adjacent to the node (step S901), it notifies the management node of anode position information request to request a position of a node to communicate with (step S902). The management node receives the node position information request notification (step S903), and calculates information about a route to the target node based on the network configuration information table it holds (step S904). The management node then sends the route information to the node (step S905). Thereby, the node in the network can communicate with the node which is not adjacent to the node.

FIG. 9 shows network information sent and received in accordance with the flowchart shown in FIG. 8. In FIG. 9, the network has five nodes A to E. The nodes A, B, D and E are linearly connected with one another, and the node C is connected only to the node B.

In this connection condition, when starting communication with the node E, the node A sends a request for node position information about the node E to the management node (step S1001). Receiving the node position information request, the management node references the network configuration information table (step S1002) to calculate information about a route from the node A to the node E (step S1003). In this example, route information of “A→B→D→E” is calculated.

The management node notifies the calculated route information to the node A (step S1004). Thereby, the node A can communicate with the node E.

(Pulling Out of a Network)

Next, description will be made on a management control procedure 4 to be performed when a node in the network pulls out of the network with reference to a flowchart shown in FIG. 10. In FIG. 10, a node in the network first sends a network pulling-out notification to the management node (step S1101). When the management node receives the network pulling-out notification (step S1102), it references the network configuration information table to search for a node adjacent to the node pulling out of the network (step S1103). The management node then notifies a bypass route to the node adjacent to the node pulling out of the network (step S1104). At the same time, the management node deletes the node pulling out of the network from the network configuration information table (step S1105). Thereby, even when any node pulls out of the network, other nodes can keep the existing communication condition.

FIG. 11 shows a network diagram and network configuration information held by the management node which are to be changed in accordance with the flowchart shown in FIG. 10.

In FIG. 11, the network has five nodes A to E. When the node B sends a network pulling-out notification to the management node, the management node receiving the notification notifies the nodes A, D and C adjacent to the node B of change of their respective connection targets. In this example, the node A is notified of the nodes D and C as the new connection targets; the node C is notified of the nodes A and D; and the node D is notified of the nodes A and C. Thereby, the network changes into the network configuration shown in FIG. 12.

(Method for Setting a Bypass Route)

The management node notifies information about a bypass route to a node which cannot perform direct communication. For example, in FIG. 12, if the node A cannot directly communicate with the node C, the management node notifies the node A of a route “A→E→C” as a bypass route. If the node A cannot directly communicate with the node D, the management node notifies the node A of a route “A→E→C→D” as a bypass route. In this way, the information about a bypass route is notified, and therefore, even if adjacent nodes cannot directly communicate with each other, they can perform communication utilizing a bypass route.

FIG. 13 shows the network configuration based on a bypass route notification in the case where adjacent nodes cannot directly communicate with each other.

In the figure, nodes adjacent to a node pulling out of the network notify their respective IDs to each other in order to attempt direct communication. If direct communication is impossible, a bypass route is notified. In this example, a node A cannot directly communicate with a node D even though the node IDs of the nodes adjacent to a node pulling out of the network are notified. Accordingly, a route “A→E→C→D” is notified by the management node to the node A as a bypass route. By receiving the bypass route information, the node A can perform communication utilizing the bypass route.

According to the above configuration, this system can effectively manages the network.

(Method for Setting the Shortest Route)

A method for calculating the shortest route will be now described with reference to FIGS. 14A and 14B, and 15 to 17.

FIG. 14B shows an example of an algorithm for calculating the shortest route from a node A to a node K in a network constituted by 10 nodes A to J shown in FIG. 14A.

As shown in FIG. 14B, node trees are created by following the network with the node A which is a start node and the node K which is a target node as origins, respectively. When corresponding nodes (identical nodes) appear in the created node trees, the creation of the node trees is stopped. In this example, a node E is the corresponding node. The route constituting by the routes to the identical nodes is determined as the shortest route. In this example, “node A→node B→node E→node H→node K” is the shortest node.

The above-described algorithm will be further described with reference to FIG. 15. The figure is a flowchart showing the algorithm for calculating the shortest route. In the figure, the initial value is set as n=0 when the processing is started (step S151), and n=n+1 is set at step S152.

Then, nodes from the start node to the n-th hop are written (step S153). At the same time, nodes from the target node to the n-th hop are written (step S154). Then, respective lists of the written nodes are examined for identical nodes (corresponding nodes) (step S155). If there are not identical nodes as a result of the examination, then the algorithm returns to step S152, where n=n+1 is set and the above processing (step S155→S152) is repeated.

On the contrary, if there are identical nodes as a result of the examination, then a route “start node→identical node→destination node” is determined as the shorted route (step S156).

In FIGS. 14A and 14B, and 15, description has been made on a network in which a route is not weighted. A network in which a route is weighted is as shown in FIGS. 16 and 17. The network shown in FIG. 16 is a network constituted by nine (9) nodes A to I. The circled numbers shown in the figure denote communication cost between two nodes.

Description will be made on an algorithm for calculating a route with the lowest cost from the node A to the node I in a network with such communication costs, with reference to FIG. 17. The figure is a flowchart showing an algorithm for calculating the shortest route in a network in which a route is weighted. In the figure, the initial value is set as n=0 when the processing is started (step S171), and n=n+1 is set at step S172.

Then, all the routes from a start node to the n-th hop and costs therefor are calculated (step S173). It is then examined whether a route with the lowest cost among all the routes from the start node to the n-th hop reaches a target node (step S174).

If the route with the lowest cost reaches the target node, the route with the lowest cost which reaches the target nodes is determined as the shortest route (step S174→S181).

If the route with the lowest cost does not reach the target node at step S174, the initial value is set as m=1 (step S175), and routes to the (n+m)th hop via the route to the n-th hop with the lowest cost, and costs thereof are calculated (step S176).

Comparison is made between the costs of the routes to the (n+m)th hop via the route to the n-th hop with the lowest cost, and the costs of all the routes to the n-th hop other than the route to the n-th hop with the lowest cost (step S177).

If the cost of a route to the n-th hop is the lowest as a result of the comparison, then it is examined whether the route to the (n+m)th hop with the lowest cost reaches the target node (step S177→S178). If it does not reach the target node as a result of the examination, then m=m+1 is set (step S178→S179). The algorithm returns to the processing at step S176, and repeats the above processing.

If there is a route the cost of which is the lowest, among the routes to the n-th hop at step S177, then it is examined whether there is any node that reaches the target node among all of the routes from the route to the first hop to the route to the n-th hop, the cost of which is lower than the cost of the route to the (n+m)th hop via the route to the n-th hop with the lowest cost (step S177→S180). If there is not a node that reaches the target node, the algorithm return to step S172, sets n=n+1 and repeats the above processing. On the contrary, if there is a node that reaches the target node, the route which reaches the target node and the cost of which is the lowest is determined as the shortest route (step S180→S181) If the route to the (n+m)th hop reaches the target node at step S178, then the route with the lowest cost that reaches the target node is determined as the shortest route (step S178→S181).

By performing the processing as described above, the route “node A→node D→node E→node G→node I” the cost of which is the lowest can be calculated.

(Network Configuration Management Method)

In the network configuration management system described above, a network configuration management method as described below is realized. That is, there is realized a network configuration management method for storing, holding and managing network configuration information indicating connection condition among nodes participating in a network, the network configuration management method comprising: a receiving step of receiving a request to search for a route from a first node in the network to a second node (corresponding to step S903 in FIG. 8); a calculation step of, in response to the request to search for a route, calculating route information indicating a route between the first node and the second node based on the network configuration information (corresponding to step S904 in FIG. 8); and a notification step of notifying the route information calculated at the calculation step to a request source (corresponding to step S905 in FIG. 8). This makes it possible for nodes participating in the network to communicate with each other utilizing the route information.

As have been described with reference to FIGS. 14A and 14B, and 15, at the calculation step, node trees are created by following the network with the first node and the second node as origins, respectively, and the routes to the identical nodes which appear in the created node trees are determined as the route information. This makes it possible to easily calculate the shortest route.

As have been described with reference to FIGS. 14A and 14B, and 15, at the calculation step, costs between nodes included in the network are calculated respectively, and a route for which the calculated cost is the lowest is determined as the route information. This makes it possible to easily calculate a route with the lowest cost.

Furthermore, at the calculation step, if the first node and the second node are not able to directly communicate with each other, route information showing a bypass route via a node other than the nodes is calculated (corresponding to step S1003 in FIG. 10). Thereby, even when nodes participating in the network cannot directly communicate with each other, they can communicate with each other utilizing the bypass route.

The network configuration information includes identification information about nodes participating in the network and identification information about adjacent nodes which are adjacent to the nodes. Thereby, the management node can recognize the configuration of the network which it manages.

It is desirable to further include a step of, in response to a notification of participation into the network by any node, adding and holding identification information about the node as the network configuration information (corresponding to step S503 in FIG. 4). This makes it possible to automatically update the network configuration information to be updated when a new node participates.

It is desirable to further include a notification step, by the node which participates into the network, of notifying its identification information to the management node (corresponding to step S501 in FIG. 4). This makes it possible for the management node to recognize the participation of the new node and automatically update the network configuration information.

It is desirable to further include a step of, in response to a pulling-out notification from a node participating in the network, updating contents of the network configuration information based on identification information about the pulling-out node (corresponding to step S704 in FIG. 6), and notify the held contents which have been updated to a node adjacent to the pulling-out node. This makes it possible to automatically update the network configuration information to be updated when a node pulls out.

By adopting the network configuration management method as described above, it is possible to efficiently manage the network.

2. Selection a Node to Connect to

Description will be made below on a management control procedure and the like by this system comprising the management control section 309 for the node device described above (see FIG. 2) and the management control section 409 for the management node device described above (see FIG. 3).

(Management Control Procedure)

First, description will be made on notification of an optimum node to connect to, which is performed when a new node participate into the network, with reference to a flowchart shown in FIG. 18. In FIG. 18, a node which participates into the network first sends a network participation notification (step S501), and the management node receives the network participation notification (step S502). The management node references the network configuration information table to select an optimum node to connect to (step S503). The management node then notifies the node of the information about the selected optimum node to connect to (step S504). Thereby, the node which newly participates into the network establishes connection with the optimum node (step S505).

FIG. 19 is a sequence diagram corresponding to the flow of the flowchart shown in FIG. 18. In FIG. 19, a node X is a node which newly participates into the network. Nodes A, B, C, D and E have already participated in the network, and a management node Y manages information about the five nodes A to E.

In this example, the physical address of the node A is “192.168.0.X”, that of the node B is “192.168.0.Y”, that of the node C is “192.168.0.Z”, that of the node D is “192.168.0.W”, and that of the node E is “192.168.0.U”.

In this example, a node adjacent to the node A is “node B”, nodes adjacent to the node B are “node A, node C and node D”, a node adjacent to the node C is “node B”, nodes adjacent to the node D are “node B and node E”, and a node adjacent to the node E is “node D”.

In this network configuration, the node X which newly attempts connection first notifies a network participation request (a request for a connection target) to the management node Y (step S601). Receiving the notification, the management node Y references a table of node IDs information it holds (step S602) and selects an optimum node to connect to (step S603). Furthermore, the management node Y notifies information about the optimum node (the address of the node A in this example) to the node X (step S604), and the node X connects to the optimum node to connect to (the node A in this example) in accordance with the contents of the information notified by the management node Y (step S605).

EXAMPLES OF ALGORITHMS

Selection of an optimum node to connect to depends on an adopted network operation policy. Examples of algorithms for selecting an optimum node will be described below. Here, examples where attention is focused on the topology configuration (a tree structure or a loop structure) and the degree (the number of connections) as a network operation policy.

<Algorithm 1>

Description will be now made on an algorithm for constructing a complete tree-type topology in which the number of hops between any two nodes, for all the nodes, is the minimum.

Consideration will be made on a case of constructing a complete tree structure network in which no loop route is created. FIG. 20 shows an ideal tree-type topology with the degree of 3 (the number of connections of 3). Numbers attached to nodes indicate the order of connections. The procedure for constructing this topology will be described with reference to a flowchart in FIG. 21.

First, n=1 is set (step S801). When a newly connecting node appears, a node with the number of connections less than 1 is looked for in the n-th hierarchy from the center node (step S802). If there is anode with the number of connections less than 1, then the newly connecting node is connected to the node, that is, the node with the number of connections less than 1 in the n-th hierarchy (step S802→S803) If there is not a node with the number of connections less than 1, then a node with the number of connections less than 2 is looked for in the n-th hierarchy from the center node (step S802→S804). If there is a node with the number of connections less than 2, then the newly connecting node is connected to the node, that is, the node with the number of connections less than 2 in the n-th hierarchy (step S804→S805).

If there is not a node with the number of connections less than 2, then a node with the number of connections less than 3 is looked for in the n-th hierarchy from the center node (step S804→S806). If there is a node with the number of connections less than 3, then the newly connecting node is connected to the node, that is, the node with the number of connections less than 3 in the n-th hierarchy (step S806→S807).

If there is not a node with the number of connections less than 3, then n=n+1 is set (step S806→S808→S802 . . . ) and the above processing is repeated.

As described above, in this algorithm, when a newly connecting node appears, the node is first connected to a node located in the first hierarchy from the center node, that is, the center node, if the number of connections of the center node is less than 3. If the number of connections of the center node is 3 or more, then the same procedure is performed for the nodes located in the second hierarchy, the next hierarchy. If, for all the nodes in the n-th hierarchy, the number of connections is 3 or more, then the same procedure is performed for the (n+1)th hierarchy, and thus an optimum connection target is looked for in the same procedure. According to the above procedure, an optimized topology as shown in FIG. 20 is constructed.

<Algorithm 2>

Description will be made on an algorithm for constructing, in consideration of physical distances, a topology in which the number of hops between any two nodes is the minimum and no loop is created.

Consideration will be made on a case of constructing a topology for a complete tree structure network in which no loop route is created, taking into account connection via the shortest route. FIGS. 22A to 22D show a tree-type topology in consideration of the shortest route connection with the degree of 3 (the number of connections of 3). Numbers attached to nodes indicate the order of connections. The procedure for constructing the topology will be described with reference to a flowchart in FIG. 23.

First, n=1 is set (step S100). When a newly connecting node appears, a node with the number of connections less than 1 is looked for in the n-th hierarchy from the center node (step S101). If there is a node with the number of connections less than 1, then the newly connecting node is connected to the node (step S101→S102).

If there is not a node with the number of connections less than 1, then a node with the number of connections less than 2 is looked for in the n-th hierarchy from the center node (step S101→S103). If there is a node with the number of connections less than 2, then the newly connecting node is connected to the node (step S103→S104).

If there is not a node with the number of connections less than 2, then a node with the number of connections less than 3 is looked for in the n-th hierarchy from the center node (step S103→S105). If there is a node with the number of connections less than 3, then the newly connecting node is connected to the node (step S105→S106).

If there is not a node with the number of connections less than 3, then a node is looked for, which is connected to a node in the n-th hierarchy and the physical distance of which to the node in the n-th hierarchy is farther than that of the newly connecting node (step S105→S107). If there is such a node, the node is disconnected from the node in the n-th hierarchy, and the newly connecting node is connected instead (step S107→S108). The disconnected node is then regarded as a newly connecting node (step S109).

If there is not a node the physical distance of which to the node in the n-th hierarchy is farther than that of the newly connecting node, then n=n+1 is set (step S107→S110→S101 . . . ) and the above process is repeated.

As described above, in this algorithm, when a newly connecting node appears, the node is connected to a node with the number of connections less than 3 in the n-th hierarchy from the center node, if any. If, for all the nodes in the n-th hierarchy, the number of connections is 3 or more, and there is a node which is connected to a node in the n-th hierarchy and the physical distance of which to the node in the n-th hierarchy is farther than that of the newly connecting node, then the node is disconnected from the node in the n-th hierarchy, and the newly connecting node is connected instead. The disconnected node is regarded as a newly connecting node, and the same procedure is repeated.

According to the above procedure, a node is added as shown in FIGS. 22A, 22B, 22C and 22D, and an optimized topology is constructed.

<Algorithm 3>

Description will be made on an algorithm for constructing a topology which certainly creates a loop in which the number of hops between any two nodes, for all the nodes, is the minimum.

Consideration will be made on a case of constructing a complete loop structure network in which a loop route is created. FIG. 24 shows an ideal loop-type topology with the number of new connections of 2. Numbers attached to nodes indicate the order of connections. The procedure for constructing this topology will be described with reference to a flowchart in FIG. 25.

First, n=1 is set (step S120). When a newly connecting node appears, a node with the smallest number of connections in the network is looked for (step S121). If there is only one such node, then connection is made to the node (step S121→S122). If there are multiple such nodes, then any node is selected from among them and connected (step S121→S123). Then, n=n+1 is set (step S124), and the same procedure is repeated until n>2 is realized (step S125). That is, the same procedures is repeated again. Thereby, the newly connecting node establishes connections with two nodes.

As described above, in this algorithm, when a newly connecting node appears, a node with the smallest number of connections in the network is looked for. If there is only one such node, connection is made to the node. If there are multiple such nodes, any node is selected from among them and connection is made to the node. Furthermore, by repeating the same procedure again, the newly connecting node establishes connections with two nodes.

According to the above procedure, an optimized topology as shown in FIG. 24 is constructed.

<Algorithm 4>

Description will be made on an algorithm for constructing a topology which certainly creates a loop in which the number of hops between any two nodes is the minimum in consideration of physical distances.

Consideration will be made on a case of constructing a topology for a complete loop structure network in which a loop route is created, taking into account connection via the shortest route. FIGS. 26A to 26D show a loop-type topology in consideration of connection via the shortest route with the number of new connections of 2. Number attached to nodes indicate the order of connections. The procedure for constructing this topology will be described with reference to a flowchart in FIG. 27.

First, n=1 and m=1 are set (step S140). When a newly connecting node appears, a node which is the m-th nearest to the newly connecting node in the network is looked for first, and then it is examined whether the node has already been newly connected to by two or more other nodes (step S141).

If the node has not been newly connected to by two or more other nodes, then the newly connecting node is connected to the node (the m-th nearest node) (step S141→S142). On the contrary, if the node has already been newly connected to by two or more other nodes, then it is examined whether there is a node the distance of which to the node m-th nearest to the newly connecting node is farther than that of the newly connecting node, from among nodes connected to the node m-th nearest to the newly connecting node (step S141→S143). If such a node is found, then the farther node is disconnected and the newly connecting node is connected (step S143→S144). The disconnected node is then regarded as a newly connecting node (step S145).

When the newly connecting node is connected, n=n+1 is set (step S147), and the same procedure is repeated (step S148) until n>2 is realized (step S148→S141 . . . ). That is, the same procedure is repeated again. Thereby, the newly connecting node establishes connections with two nodes.

If, at step S143, such a node is not found, then m=m+1 is set (step S143→S146), and the same procedure is repeated for a node which is (m+1)th nearest to the newly connecting node.

As described above, in this algorithm, when a newly connecting node appears, a node which is the m-th nearest to the newly connecting node in the network is looked for. It is examined whether the node which is the m-th nearest to the newly connecting node has already been newly connected to by two or more other nodes. If the node has not been newly connected to by two or more other nodes, connection is made to the node. If the node has received two or more new connections, a node the distance of which to the node m-th nearest to the newly connecting node is farther than the newly connecting node, among nodes connected to the node m-th nearest to the newly connecting node is looked for. If such a node is found, the farther node is disconnected, and the newly connecting node is connected instead. If such a node is not found, the same procedure is repeated for a node which is the (m+1)th nearest to the newly connecting node.

As described above, the processing is repeated until the newly connecting node can make two new connections. Thereby, a node is added as shown in A, B, C and D of FIG. 26, and an optimum topology is constructed.

As described above, the node device in this system is a node device constituting a network together with other node devices, and comprises notification means for notifying node-to-node connection information, information about links with adjacent node devices, to a management node device for managing the network as necessary. Thereby, the management node can always know the node-to-node connection information and select the most appropriate node to connect to in accordance with a particular operation policy. Furthermore, the node device in this system is a node device which newly connects to the network managed by the management node device, and comprises connection means for connecting to a connection target selected and specified by the management node device. The node device is connected to the network by connecting to the connection target. Thus, the node newly participating into the network knows the most appropriate node to connect to in accordance with a particular operation policy.

(Method for Controlling a Node Device)

For the node device in the above-described network configuration management system, a control method as shown below is realized. That is, there is realized a method for controlling node devices constituting a network together with other node devices, the method comprising a notification step of notifying node-to-node connection information, information about links with adjacent node devices, to a management node device for managing the network as necessary. This makes it possible for the management node to always know the node-to-node connection information and select the most appropriate node to connect to in accordance with a particular operation policy.

(Method for Controlling a Management Node Device)

For the management node device in the above-described network configuration management system, a control method as shown below is realized. That is, there is realized a method for controlling a management node device for managing a network constituted by node devices, the method comprising a selection step of selecting, in response to receiving a request to connect to the network from a different node device, an optimum connection target for the node device and a notification step of notifying the selected connection target to the different node device. This makes it possible for the management node to select the most appropriate node to connect to in accordance with a particular operation policy.

At the selection step, when forming a tree-type topology network which is configured by connecting nodes hierarchically and sequentially from a center node with the maximum number of connections for one node as m, it is determined whether there is any node with the number of connections of or less than m in the n-th hierarchy from the center node. If there is a node with the number of connections of or less than m, a direction to connect to the node is given; and if there is not a node with the number of connections of or less than m, the same determination is performed for the (n+1)th hierarchy. This makes it possible to construct a complete tree-type topology in which the number of hops between any two nodes, for all the nodes, is the minimum.

Furthermore, at the selection step, when forming a tree-type topology network which is configured by connecting nodes hierarchically and sequentially from a center node with the maximum number of connections for one node as m, it is determined whether there is any node with the number of connections of or less than m in the n-th hierarchy from the center node. If there is anode with the number of connections of or less than m, a direction to connect to the node is given. If there is not a node with the number of connections of or less than m, it is determined whether there is any node connected to a node in the n-th hierarchy from the center node and located farther from the node in the n-th hierarchy than a newly connecting node. If there is such a node, a direction is given to disconnect the farther node and connect the newly connecting node instead. If there is not such a node, the same determination is performed for the (n+1)th hierarchy. This makes it possible to construct, in consideration of physical distances, a topology in which the number of hops between any two nodes is the minimum and no loop is created.

Furthermore, at the selection step, a node with the smallest number of connections is found. If there is a single such node, the node is specified as a connection target of a newly connecting node. If there are multiple such nodes, any node among the nodes is specified as a connection target of the newly connecting node. This makes it possible to construct a topology which certainly creates a loop in which the number of hops between any two nodes, for all the nodes, is the minimum.

At the selection step, it is determined whether a node which is the n-th nearest to a newly connecting node has already received two or more connections from other nodes. If the node has not been newly connected to by two ore more nodes, the node is specified as a connection target. If the node has received two or more connections, a node is looked for, which is located farther from the node which is the n-th nearest to the newly connecting node than the newly connecting node, among nodes connected to the node which is the n-th nearest to the newly connecting node. If the farther node is found, a direction is given to disconnect the farther node and connect the newly connecting node instead. If the farther node is not found, the same procedure is repeated for a node which is the (n+1)th nearest to the newly connecting node. This makes it possible to construct a topology which certainly creates a loop in which the number of hops between any two nodes is the minimum in consideration of physical distances.

(Selection Control Program)

In the above-described network configuration management system, if the above algorithm 1 is adopted, a selection control program as shown below is used in the management node device. That is, in the management node device for managing a network constituted by node devices, there is used a selection control program for, in response to receiving a request to connect to the network from a different node device, selecting an optimum connection target for the node device, the selection control program comprising: a determination step of, when forming a tree-type topology network which is configured by connecting nodes hierarchically and sequentially from a center node with the maximum number of connections for one node as m, determining whether there is any node with the number of connections of or less than m in the n-th hierarchy from the center node, and a step of, if there is a node with the number of connections of or less than m, giving a direction to connect to the node; wherein the same determination is performed for the (n+1)th hierarchy if there is not a node with the number of connections of or less than m. This makes it possible to construct a complete tree-type topology in which the number of hops between any two nodes, for all the nodes, is the minimum.

In the above-described network configuration management system, if the above algorithm 2 is adopted, a selection control program as shown below is used in the management node device. That is, in the management node device for managing a network constituted by node devices, there is used a selection control program for, in response to receiving a request to connect to the network from a different node device, selecting an optimum connection target for the node device, the selection control program comprising: a determination step of, when forming a tree-type topology network which is configured by connecting nodes hierarchically and sequentially from a center node with the maximum number of connections for one node as m, determining whether there is any node with the number of connections of or less than m in the n-th hierarchy from the center node; a step of, if there is a node with the number of connections of or less than m, specifying the node as a connection target; a step of determining whether there is any node connected to a node in the n-th hierarchy from the center node and located farther from the node in the n-th hierarchy than a newly connecting node, if there is not a node with the number of connections of and less than m; a step of giving a direction, if there is such a node, to disconnect the farther node and connect the newly connecting node instead; and a step of performing the same determination for the (n+1)th hierarchy if there is not such a node. This makes it possible to construct, in consideration of physical distances, a topology in which the number of hops between any two nodes is the minimum and no loop is created.

Furthermore, in the above-mentioned network configuration management system, if the above algorithm 3 is adopted, a selection control program as shown below is used in the management node device. That is, in the management node device for managing a network constituted by node devices, there is used a selection control program for, in response to receiving a request to connect to the network from a different node device, selecting an optimum connection target for the node device, the selection control program comprising the steps of: finding a node with the smallest number of connections; specifying, if there is a single such node, the node as a connection target of a newly connecting node; and specifying, if there are multiple such nodes, any node among the nodes as a connection target of the newly connecting node. This makes it possible to construct a topology which certainly creates a loop in which the number of hops between any two nodes, for all the nodes, is the minimum.

In the above-mentioned network configuration management system, if the above algorithm 4 is adopted, a selection control program as shown below is used in the management node device. That is, in the management node device for managing a network constituted by node devices, there is used a selection control program for, in response to receiving a request to connect to the network from a different node device, selecting an optimum connection target for the node device, the selection control program comprising: a determination step of determining whether a node which is the n-th nearest to a newly connecting node has already received two or more connections from other nodes; a step of specifying, if the node has not received two or more connections, the node as a connection target; a step of looking for, if the node has received two or more connections, a node located farther from the node which is the n-th nearest to the newly connecting node than the newly connecting node, among the nodes connected to the node which is the n-th nearest to the newly connecting node; and, a step of, if such a node is found at the above step, giving a direction to disconnect the farther node and connect the newly connecting node instead; wherein, if such a node is not found, the same procedure is repeated for a node which is the (n+1)th nearest to the newly connecting node. This makes it possible to construct a topology which certainly creates a loop in which the number of hops between any two nodes, for all the nodes, is the minimum in consideration of physical distances.

As a recording medium for recording the above program, various recording media can be used including a semiconductor memory, a magnetic disk and an optical disk.

For this system, any of the methods (1), (2) or (3) shown below is adopted.

(1) In a network system which is constituted by multiple nodes each of which performs communication based on connection established with an adjacent node, and to which a network configuration method is applied in which a management node to be directly communicated with by each node in the network exists, there is adopted a network configuration method characterized in that the management node has information about all the nodes in the network and their adjacent nodes, and when a node outside the network connects to the network, it is notified by the management node of an optimum node to connect to. According to this method, a node newly participating into the network can know the most appropriate node to connect to, so that it is advantageously possible to connect to an optimum node in accordance with a particular operation policy.

(2) The network configuration method according to (1) described above is adopted which is characterized in that the management node selects a node to be notified to a node newly participating into the network as a node to connect to in order to optimize the network configuration. According to this method, the management node can notify a newly participating node of a node to connect to, in accordance with a particular operation policy, so that it is advantageously possible to optimize the network topology.

(3) The network configuration method according to (1) described above is adopted which is characterized in that the node participating into the network establishes connection in accordance with the notified node. According to this method, the management node can construct a network in accordance with a particular network operation policy, so that it is advantageously possible to construct an optimum network topology suitable for the network condition.

As described above, by notifying node-to-node connection information, information about links between adjacent node devices to a management node device managing a network as necessary, it is advantageously possible for the management node device to always know the node-to-node connection information and to select the most appropriate node to connect to in accordance with a particular operation policy.

Furthermore, by selecting, in response to receiving a request to connect to the network from a different node device, the most appropriate node for the node device to connect to, the management node can advantageously select the most appropriate node to connect to in accordance with a particular operation policy.

Furthermore, when forming a tree-type topology network which is configured by connecting nodes hierarchically and sequentially from a center node with the maximum number of connections for one node as m, it is determined whether there is any node with the number of connections of or less than m in the n-th hierarchy from the center node; a direction is given, if there is a node with the number of connections of or less than m, to connect to the node; and the same determination is performed for the (n+1)th hierarchy if there is not a node with the number of connections of or less than m. Thereby, it is advantageously possible to construct a complete tree-type topology in which the number of hops between any two nodes, for all the nodes, is the minimum.

Furthermore, when forming a tree-type topology network which is configured by connecting nodes hierarchically and sequentially from a center node with the maximum number of connections for one node as m, it is determined whether there is any node with the number of connections of or less than m in the n-th hierarchy from the center node. If there is a node with the number of connections of or less than m, the node is specified as a connection target. If there is not a node with the number of connections of or less than m, it is determined whether there is any node connected to a node in the n-th hierarchy from the center node and located farther from the node in the n-th hierarchy than a newly connecting node. If there is such a node, a direction is given to disconnect the farther node and connect the newly connecting node instead. If there is not such a node, the same determination is performed for the (n+1)th hierarchy. Thereby, it is advantageously possible to construct, in consideration of physical distances, a topology in which the number of hops between any two nodes is the minimum and no loop is created.

Furthermore, a node with the smallest number of connections is found. If there is a single such node, the node is specified as a connection target of a newly connecting node. If there are multiple such nodes, any node among the nodes is specified as a connection target of the newly connecting node. Thereby, it is advantageously possible to construct a topology which certainly creates a loop in which the number of hops between any two nodes, for all the nodes, is the minimum.

Furthermore, it is determined whether a node which is the n-th nearest to a newly connecting node has already received two or more connections from other nodes. If the node has not been newly connected to by two ore more nodes, the node is specified as a connection target. If the node has been newly connected to by two or more nodes, a node is looked for, which is located farther from the node which is the n-th nearest to the newly connecting node than the newly connecting node, among the nodes connected to the node which is the n-th nearest to the newly connecting node. If the farther node is found, a direction is given to disconnect the farther node and connect the newly connecting node instead. If the farther node is not found, the same procedure is repeated for a node which is the (n+1)th nearest to the newly connecting node. Thereby, it is advantageously possible to construct a topology which certainly creates a loop in which the number of hops between any two nodes is the minimum in consideration of physical distances.

Anode which newly participates into a network is connected to the network by connecting to the connection target selected and specified by the management node. This advantageously makes it possible for the node which newly participates into the network to know the most appropriate node to connect to in accordance with a particular operation policy.

In a network configuration management system comprising node devices constituting a network together with other node devices and a management node device for managing the network constituted by the node devices, each of the node devices constituting the network notifies node-to-node connection information, information about links with adjacent nodes, to the management node device as necessary;

-   -   the management node device, in response to receiving a request         to connect to the network from a different node device, selects         an optimum connection target for the node device; and     -   a node device which newly connects to the network is connected         to the network by connecting to the connection target selected         and specified by the management node device. Thereby, it is         advantageously possible for the management node to always know         the node-to-node connection information and select the most         appropriate node to connect to in accordance with a particular         operation policy, and for a node which newly participates into         the network to know the most appropriate node to connect to in         accordance with a particular operation policy.

Furthermore, in response to a request to search for a route from a first node in the network to a second node, the management node calculates route information, based on the network configuration information, indicating a route between the nodes and notifies the calculated route information to a request source. This advantageously makes it possible for the nodes participating in the network to communicate with one another utilizing the route information.

Node trees are created by following the network with a start node and a target node as origins, respectively, and routes to identical nodes appearing in the created node trees are determined as the route information. Thereby, it is advantageously possible to easily calculate the shortest route. Costs among nodes included in the network are calculated and a route for which the calculated cost is the lowest is determined as the route information. Thereby, it is advantageously possible to easily calculate a route with the lowest cost.

Furthermore, if a first node and a second node are not able to directly communicate with each other, the management node calculates route information showing a bypass route via a node other than the nodes. This advantageously makes it possible to perform communication utilizing a bypass route even when nodes participating in the network cannot directly communicate with each other. The network configuration information includes identification information about nodes participating in the network and identification information about nodes adjacent to the nodes. This advantageously makes it possible for the management node to recognize the configuration of the network it manages.

Furthermore, the management node, in response to a notification of participation into the network by any node, adds and holds identification information about the node. This advantageously makes it possible to automatically update the network configuration information which is to be updated when a new node participates. A node which participates into the network notifies identification information about the node to the management node, and this advantageously makes it possible for the management node to recognize the participation of the new node and automatically update the network configuration information.

Furthermore, the management node, in response to a pulling-out notification from a node participating in the network, updates contents it holds based on identification information about the pulling-out node, and notifies the held contents which have been updated to a node adjacent to the pulling-out node. This advantageously makes it possible to automatically update the network configuration information which is to be updated when a node pulls out.

As described above, by utilizing the management node device of the present invention, it is advantageously possible to effectively manage a network. 

1. A management node device for managing a network constituted by node devices, the management node device comprising storage means for storing network configuration information for calculating at least one of information about routes among node devices and an optimum connection target for a newly connecting node device, the network configuration information including information about links among nodes constituting the network.
 2. The management node device according to claim 1, further comprising: receiving means for receiving a request to search for a route from a first node device in the network to a second node device; calculation means for, in response to the request to search for a route, calculating route information indicating a route between the first node device and the second node device based on the network configuration information stored in the storage means; and notification means for notifying the route information calculated by the calculation means to a request source.
 3. The management node device according to claim 2, wherein the calculation means creates node trees following the network with the first node device and the second node device as origins, respectively, and determines routes to identical nodes appearing in the created node trees as the route information.
 4. The management node device according to claim 2, wherein the calculation means calculates each of costs among nodes included in the network and determines a route for which the calculated cost is the lowest as the route information.
 5. The management node device according to claim 2, wherein the calculation means, if the first node device and the second node device are not able to directly communicate with each other, calculates route information showing a bypass route via a node device other than the nodes.
 6. The management node device according to claim 2, wherein the network configuration information includes identification information about the node devices participating in the network and identification information about adjacent node devices adjacent to the node devices.
 7. The management node device according to claim 2, further comprising means for, in response to a notification of participation into the network by any node device, adding identification information about the node device to the storage means.
 8. The management node device according to claim 2, further comprising means for, in response to a pulling-out notification from a node device participating in the network, updating contents held by the storage means based on identification information about the pulling-out node device; and notifying the held contents which have been updated to a node device adjacent to the pulling-out node device.
 9. A network configuration management system comprising a management node device having storage means for storing and holding network configuration information indicating connection condition among node devices participating in a network, the network configuration management system being characterized in that the management node, in response to a request to search for a route from a first node device in the network to a second node device, calculates route information, based on the network configuration information, indicating a route between the first node device and the second node device and notifies the calculated route information to a request source.
 10. The network configuration management system according to claim 9, wherein a node which participates into the network has notification means for notifying identification information about the node to the management node device.
 11. A network configuration management method for storing, holding and managing network configuration information indicating connection condition among node devices participating in a network, the network configuration management method comprising: receiving a request to search for a route from a first node device in the network to a second node device; calculating route information indicating a route between the first node device and the second node device based on the network configuration information in response to the request to search for a route, calculating route information indicating a route between the first node device and the second node device based on the network configuration information; and notifying the route information calculated at the calculation step to a request source.
 12. A node device constituting a network together with other node devices, the node device comprising notification means for notifying node-to-node connection information, information about links with adjacent node devices, to a management node device for managing the network as necessary.
 13. The management node device according to claim 1, the further comprising selection means for, in response to receiving a-request to connect to the network from a different node device, selecting an optimum connection target for the node device based on the network configuration information stored in the storage means.
 14. The management node device according to claim 13, wherein the selection means, when forming a tree-type topology network which is configured by connecting nodes hierarchically and sequentially from a center node with the maximum number of connections for one node as m (m is a natural number and hereinafter the same), determines whether there is any node with the number of connections less than m in the n-th hierarchy (n is a natural number and hereinafter the same) from the center node; gives a direction, if there is a node with the number of connections less than m, to connect to the node; and performs the same determination for the (n+1)th hierarchy if there is not a node with the number of connections less than m.
 15. The management node device according to claim 13, characterized in that the selection means, when forming a tree-type topology network which is configured by connecting nodes hierarchically and sequentially from a center node with the maximum number of connections for one node as m, determines whether there is any node with the number of connections less than m in the n-th hierarchy from the center node; specifies, if there is a node with the number of connections less than m, the node as a connection target; determines whether there is any node connected to a node in the n-th hierarchy from the center node and located farther from the node in the n-th hierarchy than a newly connecting node, if there is not a node with the number of connections less than m; gives a direction, if there is such a node, to disconnect the farther node and connect the newly connecting node instead; and performs the same determination for the (n+1)th hierarchy if there is not such a node.
 16. The management node device according to claim 13, wherein the selection means finds a node with the smallest number of connections; specifies, if there is a single such node, the node as a connection target of a newly connecting node; and specifies, if there are multiple such nodes, any node among the nodes as a connection target of the newly connecting node.
 17. The management node device according to claim 13, wherein the selection means determines whether a node which is the n-th nearest to a newly connecting node has already received two or more connections from other nodes; specifies, if the node has not received two or more connections, the node as a connection target; looks for, if the node has received two or more connections, a node located farther from the node which is the n-th nearest to the newly connecting node than the newly connecting node, among nodes connected to the node which is the n-th nearest to the newly connecting node; gives a direction to disconnect the farther node and connect the newly connecting node instead, if the farther node is found; and repeats the same procedure for a node which is the (n+1)th nearest to the newly connecting node if the farther node is not found.
 18. A network configuration management system comprising node devices constituting a network together with other node devices and a management node device for managing the network constituted by the node devices, wherein: each of the node devices constituting the network notifies node-to-node connection information, information about links with adjacent nodes, to the management node device as necessary; the management node device, in response to receiving a request to connect to the network from a different node device, selects an optimum connection target for the node device; and a node device which newly connects to the network is connected to the network by connecting to the connection target selected and specified by the management node device.
 19. A method for controlling node devices constituting a network together with other node devices, the method comprising notifying node-to-node connection information, information about links with adjacent node devices, to a management node device for managing the network as necessary.
 20. A method for controlling a management node device for managing a network constituted by node devices, the method comprising selecting, in response to receiving a request to connect to the network from a different node device, an optimum connection target for the node device and a notification step of notifying the selected connection target to the different node device. 